﻿//#include<iostream>
//#include<string>
//#include<vector>
//using namespace std;
//
//void func(int& x){
//	cout << "void func(int& x)" << endl;
//}
//void func(int&& x){
//	cout << "void func(int&& x)" << endl;
//}
//void func(const int& x){
//	cout << "void func(const int& x)" << endl;
//}
//void func(const int&& x){
//	cout << "void func(const int&& x)" << endl;
//}
//
//int main(){
//	int x = 10;
//	const int cx = 20;
//
//	auto& rx1 = x;		// int&
//	auto& rx2 = cx;		// const int&
//	func(rx1);
//	func(rx2);
//
//	const auto& rx3 = x;	// const int&
//	const auto& rx4 = cx;	// const int&
//	func(rx3);
//	func(rx4);
//
//	// 万能引⽤ 
//	auto&& rx5 = x;		// int&
//	auto&& rx6 = cx;	// const int&
//	func(rx5);
//	func(rx6);
//
//	auto&& rx7 = move(x);	// int&&
//	//rx7++;
//	auto&& rx8 = move(cx);	// const int&&
//	//rx8++;
//	func(forward<int>(rx7));
//	func(forward<const int>(rx8));
//	return 0;
//}